package com.yiren.dbaa.module.practice_set.map.model;

import android.app.Activity;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yiren.backstage.currency.entity.MapEntity;
import com.yiren.dbaa.constant.AddressConstant;
import com.yiren.dbaa.currency.api.CommonCallBack;
import com.yiren.dbaa.module.practice_set.map.contract.OpenMapContract;
import com.yiren.dbaa.net.OkHttpUtils;
import com.yiren.dbaa.net.bean.TestBaseBean;
import com.yiren.dbaa.net.interf.StringCallback;

/**
 * @author lwb
 * @date : 2022/11/28 16:35
 * @description: 已公开地图
 */
public class OpenMapModel implements OpenMapContract.Model {
    private Activity activity;
    private Gson gson;

    public OpenMapModel(Activity activity) {
        this.activity = activity;
        gson = new Gson();
    }

    @Override
    public void changeMapState(int state, MapEntity map, CommonCallBack callBack) {
        OkHttpUtils.getInstance().getStringByAsync(activity, AddressConstant.updateMapState("?state=" + state + "&id=" + map.getId() +
                        "&userId=" + map.getUserId() + "&mapVer=" + map.getMapVer()),
                new StringCallback() {
                    @Override
                    public void getString(String result) {
                        TestBaseBean<String> testBaseBean = gson.fromJson(result, new TypeToken<TestBaseBean<String>>() {
                        }.getType());
                        if (testBaseBean.isSuccess()) {
                            callBack.success(testBaseBean.getData());
                        } else {
                            callBack.fail("设置失败!");
                        }
                    }

                    @Override
                    public void getFail() {
                        callBack.fail("数据请求失败!");
                    }
                });
    }
}
